<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  
  <title>清风向阳</title>
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  
    <meta name="keywords" content="Joker,Joker's Blog" />
  
  <meta property="og:type" content="website">
<meta property="og:title" content="清风向阳">
<meta property="og:url" content="http://mjjde.github.io/index.html">
<meta property="og:site_name" content="清风向阳">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="清风向阳">
  
  
    <link rel="icon" href="/favicon_pic.ico">
  
  <link href="//cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">
  <link rel="stylesheet" href="/css/style.css">
  <script src="/js/pace.min.js"></script>
  

  
  

</head>

<body>
  <div id="container">
      <header id="header">
    <div id="banner"></div>
    <div id="header-outer">
        <div id="header-menu" class="header-menu-pos animated">
            <div class="header-menu-container">
                <a href="/" class="left">
                    <span class="site-title">Joker&#39;s Blog</span>
                </a>
                <nav id="header-menu-nav" class="right">
                    
                    <a  href="/">
                        <i class="fa fa-home"></i>
                        <span>Home</span>
                    </a>
                    
                    <a  href="/archives">
                        <i class="fa fa-archive"></i>
                        <span>Archives</span>
                    </a>
                    
                    <a  href="/about">
                        <i class="fa fa-user"></i>
                        <span>About</span>
                    </a>
                    
                </nav>
                <a class="mobile-header-menu-button">
                    <i class="fa fa-bars"></i>
                </a>
            </div>
        </div>
        <div id="header-row">
            <div id="logo">
                <a href="/">
                    <img src="/images/avatar.jpg" alt="logo">
                </a>
            </div>
            <div class="header-info">
                <div id="header-title">
                    
                    <h2>
                        Joker&#39;s Blog
                    </h2>
                    
                </div>
                <div id="header-description">
                    
                    <h3>
                        一个认真的技术博客
                    </h3>
                    
                </div>
            </div>
            <nav class="header-nav">
                <div class="social">
                    
                        <a title="Joker"  href="//joker-studio.pub">
                            <i class="fa fa-home fa-2x"></i></a>
                    
                        <a title="Github" target="_blank" href="//github.com/mjjde">
                            <i class="fa fa-github fa-2x"></i></a>
                    
                </div>
            </nav>
        </div>
    </div>
</header>
      <div class="outer">
        <section id="main" class="body-wrap">
  
    <article id="post-一站式学习C编程第一见" class="article article-type-post" itemscope itemprop="blogPost">
  <div class="article-inner">
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="/2018/03/14/一站式学习C编程第一见/"  >一站式学习C编第一见</a>
    </h1>
  

          
      </header>
    
    <div class="article-entry " itemprop="articleBody">
      
        <div class="article-img">
            <a href="/2018/03/14/一站式学习C编程第一见/" >
                
                <img src="http://mjjde.github.io/images/banner.jpg" alt="一站式学习C编第一见" title="一站式学习C编第一见">
                
            </a>
        </div>
        <div class="article-feed">
            <p>
                
            </p>
        </div>
      
    </div>
    <footer class="article-footer">
        
        <ul class="article-footer-menu">
            
                <li><i class="fa fa-calendar"></i>2018-03-14</li>
            
            
        </ul>
        
            <a href="/2018/03/14/一站式学习C编程第一见/#more" class="article-more-link" >更多阅读&gt;&gt;</a>
        
    </footer>
  </div>
</article>


  
    <article id="post-成熟的组件化开发" class="article article-type-post" itemscope itemprop="blogPost">
  <div class="article-inner">
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="/2017/11/28/成熟的组件化开发/"  >成熟的组件化开发</a>
    </h1>
  

          
      </header>
    
    <div class="article-entry " itemprop="articleBody">
      
        <div class="article-img">
            <a href="/2017/11/28/成熟的组件化开发/" >
                
                <img src="http://mjjde.github.io//images/modules.jpg" alt="成熟的组件化开发" title="成熟的组件化开发">
                
            </a>
        </div>
        <div class="article-feed">
            <p>
                
组件化开发是一个大型项目的发展趋势，对于一个大规模多人合作的项目来说，化整为零是一个不错的思考方向，常常在多人开发的时候会出现相互干扰，任务分工不明确的情况，这样也会导致开发效率下降，另一方面对问题的排查也带来的很多的麻烦。

            </p>
        </div>
      
    </div>
    <footer class="article-footer">
        
        <ul class="article-footer-menu">
            
                <li><i class="fa fa-calendar"></i>2017-11-28</li>
            
            
  <li class="article-footer-tags">
    <i class="fa fa-tags"></i>
      
    <a href="/tags/android/" class="color3">android</a>
      
    <a href="/tags/组件化/" class="color4">组件化</a>
      
    <a href="/tags/gradle/" class="color2">gradle</a>
      
  </li>

        </ul>
        
            <a href="/2017/11/28/成熟的组件化开发/#more" class="article-more-link" >更多阅读&gt;&gt;</a>
        
    </footer>
  </div>
</article>


  
    <article id="post-面向对象设计-依赖倒转原则" class="article article-type-post" itemscope itemprop="blogPost">
  <div class="article-inner">
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="/2017/09/19/面向对象设计-依赖倒转原则/"  >面向对象设计-依赖倒转原则</a>
    </h1>
  

          
              <span class="header-cate">
                <i class="fa fa-map-marker"></i>
                  
                  <a href="/categories/设计模式/">设计模式</a>
                  
              </span>
          
      </header>
    
    <div class="article-entry " itemprop="articleBody">
      
        <div class="article-img">
            <a href="/2017/09/19/面向对象设计-依赖倒转原则/" >
                
                <img src="http://mjjde.github.io//images/designs.jpg" alt="面向对象设计-依赖倒转原则" title="面向对象设计-依赖倒转原则">
                
            </a>
        </div>
        <div class="article-feed">
            <p>
                
依赖倒转原则是提供项目稳定易维护的主要手段之一，也是面向对象设计的主要实现方式之一。该原则要求我们面向抽象or接口来编程。这和里氏替换原则相呼应。

            </p>
        </div>
      
    </div>
    <footer class="article-footer">
        
        <ul class="article-footer-menu">
            
                <li><i class="fa fa-calendar"></i>2017-09-19</li>
            
            
  <li class="article-footer-tags">
    <i class="fa fa-tags"></i>
      
    <a href="/tags/设计模式/" class="color5">设计模式</a>
      
    <a href="/tags/java/" class="color5">java</a>
      
  </li>

        </ul>
        
            <a href="/2017/09/19/面向对象设计-依赖倒转原则/#more" class="article-more-link" >更多阅读&gt;&gt;</a>
        
    </footer>
  </div>
</article>


  
    <article id="post-面向对象设计-里氏替换原则" class="article article-type-post" itemscope itemprop="blogPost">
  <div class="article-inner">
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="/2017/09/18/面向对象设计-里氏替换原则/"  >面向对象设计-里氏替换原则</a>
    </h1>
  

          
              <span class="header-cate">
                <i class="fa fa-map-marker"></i>
                  
                  <a href="/categories/设计模式/">设计模式</a>
                  
              </span>
          
      </header>
    
    <div class="article-entry " itemprop="articleBody">
      
        <div class="article-img">
            <a href="/2017/09/18/面向对象设计-里氏替换原则/" >
                
                <img src="http://mjjde.github.io//images/designs.jpg" alt="面向对象设计-里氏替换原则" title="面向对象设计-里氏替换原则">
                
            </a>
        </div>
        <div class="article-feed">
            <p>
                
里氏替换原则的立足点来自于继承和多态。主要为我们的项目带来了解耦可扩展的特性。里氏代换原则是对开闭原则的补充，它讲的是基类和子类的关系。只有当这种关系存在时，里氏代换关系才存在。当然在项目中应该尽可能的使用父类来代替具体的子类。
            </p>
        </div>
      
    </div>
    <footer class="article-footer">
        
        <ul class="article-footer-menu">
            
                <li><i class="fa fa-calendar"></i>2017-09-18</li>
            
            
  <li class="article-footer-tags">
    <i class="fa fa-tags"></i>
      
    <a href="/tags/设计模式/" class="color5">设计模式</a>
      
    <a href="/tags/java/" class="color5">java</a>
      
  </li>

        </ul>
        
            <a href="/2017/09/18/面向对象设计-里氏替换原则/#more" class="article-more-link" >更多阅读&gt;&gt;</a>
        
    </footer>
  </div>
</article>


  
    <article id="post-面向对象设计-接口隔离原则" class="article article-type-post" itemscope itemprop="blogPost">
  <div class="article-inner">
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="/2017/09/18/面向对象设计-接口隔离原则/"  >面向对象设计-接口隔离原则</a>
    </h1>
  

          
              <span class="header-cate">
                <i class="fa fa-map-marker"></i>
                  
                  <a href="/categories/设计模式/">设计模式</a>
                  
              </span>
          
      </header>
    
    <div class="article-entry " itemprop="articleBody">
      
        <div class="article-img">
            <a href="/2017/09/18/面向对象设计-接口隔离原则/" >
                
                <img src="http://mjjde.github.io//images/designs.jpg" alt="面向对象设计-接口隔离原则" title="面向对象设计-接口隔离原则">
                
            </a>
        </div>
        <div class="article-feed">
            <p>
                
接口隔离原则在某些层面上和单一职责原则上是互通的，它们对项目的要求都是使接口（对象）足够的单一，让上层的依赖或者实现相对的独立，不会引入他们不用的方法或者对象。

            </p>
        </div>
      
    </div>
    <footer class="article-footer">
        
        <ul class="article-footer-menu">
            
                <li><i class="fa fa-calendar"></i>2017-09-18</li>
            
            
  <li class="article-footer-tags">
    <i class="fa fa-tags"></i>
      
    <a href="/tags/设计模式/" class="color5">设计模式</a>
      
    <a href="/tags/java/" class="color5">java</a>
      
  </li>

        </ul>
        
            <a href="/2017/09/18/面向对象设计-接口隔离原则/#more" class="article-more-link" >更多阅读&gt;&gt;</a>
        
    </footer>
  </div>
</article>


  
    <article id="post-面向对象设计-开闭原则" class="article article-type-post" itemscope itemprop="blogPost">
  <div class="article-inner">
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="/2017/09/18/面向对象设计-开闭原则/"  >面向对象设计-开闭原则</a>
    </h1>
  

          
              <span class="header-cate">
                <i class="fa fa-map-marker"></i>
                  
                  <a href="/categories/设计模式/">设计模式</a>
                  
              </span>
          
      </header>
    
    <div class="article-entry " itemprop="articleBody">
      
        <div class="article-img">
            <a href="/2017/09/18/面向对象设计-开闭原则/" >
                
                <img src="http://mjjde.github.io//images/designs.jpg" alt="面向对象设计-开闭原则" title="面向对象设计-开闭原则">
                
            </a>
        </div>
        <div class="article-feed">
            <p>
                
开闭原则之根本基于接口or抽象。该原则主要是为项目的稳定和延续提供必要的指导。在不修改源代码的基础上对项目的维护和需求迭代上进行只扩展。

            </p>
        </div>
      
    </div>
    <footer class="article-footer">
        
        <ul class="article-footer-menu">
            
                <li><i class="fa fa-calendar"></i>2017-09-18</li>
            
            
  <li class="article-footer-tags">
    <i class="fa fa-tags"></i>
      
    <a href="/tags/设计模式/" class="color5">设计模式</a>
      
    <a href="/tags/java/" class="color5">java</a>
      
  </li>

        </ul>
        
            <a href="/2017/09/18/面向对象设计-开闭原则/#more" class="article-more-link" >更多阅读&gt;&gt;</a>
        
    </footer>
  </div>
</article>


  
    <article id="post-面向对象设计-单一职责原则" class="article article-type-post" itemscope itemprop="blogPost">
  <div class="article-inner">
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="/2017/09/14/面向对象设计-单一职责原则/"  >面向对象设计-单一职责原则</a>
    </h1>
  

          
              <span class="header-cate">
                <i class="fa fa-map-marker"></i>
                  
                  <a href="/categories/设计模式/">设计模式</a>
                  
              </span>
          
      </header>
    
    <div class="article-entry " itemprop="articleBody">
      
        <div class="article-img">
            <a href="/2017/09/14/面向对象设计-单一职责原则/" >
                
                <img src="http://mjjde.github.io//images/designs.jpg" alt="面向对象设计-单一职责原则" title="面向对象设计-单一职责原则">
                
            </a>
        </div>
        <div class="article-feed">
            <p>
                
单一职责原则被列在面向对象设计之首，当从字面意思来理解视乎很简单，但是何为单一，何为职责，如何把握职责的粒度，这是该原则不好把控的地方，也是带来争议的点。究其原因，每个人对项目的整体把握度不一致，而被认为是同一个职责的类或者方法在其他项目却不尽相同。
            </p>
        </div>
      
    </div>
    <footer class="article-footer">
        
        <ul class="article-footer-menu">
            
                <li><i class="fa fa-calendar"></i>2017-09-14</li>
            
            
  <li class="article-footer-tags">
    <i class="fa fa-tags"></i>
      
    <a href="/tags/设计模式/" class="color5">设计模式</a>
      
    <a href="/tags/java/" class="color5">java</a>
      
  </li>

        </ul>
        
            <a href="/2017/09/14/面向对象设计-单一职责原则/#more" class="article-more-link" >更多阅读&gt;&gt;</a>
        
    </footer>
  </div>
</article>


  
    <article id="post-图解HTTP八确认访问用户身份的认证" class="article article-type-post" itemscope itemprop="blogPost">
  <div class="article-inner">
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="/2017/06/14/图解HTTP八确认访问用户身份的认证/"  >图解HTTP八确认访问用户身份的认证</a>
    </h1>
  

          
              <span class="header-cate">
                <i class="fa fa-map-marker"></i>
                  
                  <a href="/categories/网络技术/">网络技术</a>
                  
              </span>
          
      </header>
    
    <div class="article-entry " itemprop="articleBody">
      
        <div class="article-img">
            <a href="/2017/06/14/图解HTTP八确认访问用户身份的认证/" >
                
                <img src="http://mjjde.github.io/images/banner.jpg" alt="图解HTTP八确认访问用户身份的认证" title="图解HTTP八确认访问用户身份的认证">
                
            </a>
        </div>
        <div class="article-feed">
            <p>
                
某些Web页面只想让特定定的人浏览，或者干脆仅本人可见。为达到这个目标，必不可少的就是认证功。下面我们一起来学习一下认证机制。
            </p>
        </div>
      
    </div>
    <footer class="article-footer">
        
        <ul class="article-footer-menu">
            
                <li><i class="fa fa-calendar"></i>2017-06-14</li>
            
            
  <li class="article-footer-tags">
    <i class="fa fa-tags"></i>
      
    <a href="/tags/HTTP/" class="color5">HTTP</a>
      
  </li>

        </ul>
        
            <a href="/2017/06/14/图解HTTP八确认访问用户身份的认证/#more" class="article-more-link" >更多阅读&gt;&gt;</a>
        
    </footer>
  </div>
</article>


  
    <article id="post-图解HTTP七确保Web安全的HTTPS" class="article article-type-post" itemscope itemprop="blogPost">
  <div class="article-inner">
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="/2017/06/09/图解HTTP七确保Web安全的HTTPS/"  >图解HTTP七确保Web安全的HTTPS</a>
    </h1>
  

          
              <span class="header-cate">
                <i class="fa fa-map-marker"></i>
                  
                  <a href="/categories/网络技术/">网络技术</a>
                  
              </span>
          
      </header>
    
    <div class="article-entry " itemprop="articleBody">
      
        <div class="article-img">
            <a href="/2017/06/09/图解HTTP七确保Web安全的HTTPS/" >
                
                <img src="http://mjjde.github.io/images/banner.jpg" alt="图解HTTP七确保Web安全的HTTPS" title="图解HTTP七确保Web安全的HTTPS">
                
            </a>
        </div>
        <div class="article-feed">
            <p>
                
在HTTP协议中有可能存在信息窃听或身份伪装等安全问。使用HTTPS通信机制可以有效的防止这些问题。
            </p>
        </div>
      
    </div>
    <footer class="article-footer">
        
        <ul class="article-footer-menu">
            
                <li><i class="fa fa-calendar"></i>2017-06-09</li>
            
            
  <li class="article-footer-tags">
    <i class="fa fa-tags"></i>
      
    <a href="/tags/HTTP/" class="color5">HTTP</a>
      
  </li>

        </ul>
        
            <a href="/2017/06/09/图解HTTP七确保Web安全的HTTPS/#more" class="article-more-link" >更多阅读&gt;&gt;</a>
        
    </footer>
  </div>
</article>


  
    <article id="post-图解Http六HTTP首部" class="article article-type-post" itemscope itemprop="blogPost">
  <div class="article-inner">
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="/2017/05/06/图解Http六HTTP首部/"  >图解Http六HTTP首部</a>
    </h1>
  

          
              <span class="header-cate">
                <i class="fa fa-map-marker"></i>
                  
                  <a href="/categories/网络技术/">网络技术</a>
                  
              </span>
          
      </header>
    
    <div class="article-entry " itemprop="articleBody">
      
        <div class="article-img">
            <a href="/2017/05/06/图解Http六HTTP首部/" >
                
                <img src="http://mjjde.github.io/images/banner.jpg" alt="图解Http六HTTP首部" title="图解Http六HTTP首部">
                
            </a>
        </div>
        <div class="article-feed">
            <p>
                
HTTP协议的请求和响应报文必定包含HTTP首部，只是我们平时在使用Web的过程中感受不到它
            </p>
        </div>
      
    </div>
    <footer class="article-footer">
        
        <ul class="article-footer-menu">
            
                <li><i class="fa fa-calendar"></i>2017-05-06</li>
            
            
  <li class="article-footer-tags">
    <i class="fa fa-tags"></i>
      
    <a href="/tags/HTTP/" class="color5">HTTP</a>
      
  </li>

        </ul>
        
            <a href="/2017/05/06/图解Http六HTTP首部/#more" class="article-more-link" >更多阅读&gt;&gt;</a>
        
    </footer>
  </div>
</article>


  


  <nav id="page-nav">
    <span class="page-number current">1</span><a class="page-number" href="/page/2/">2</a><a class="page-number" href="/page/3/">3</a><a class="extend next" rel="next" href="/page/2/">Next >></a>
  </nav>
</section>
        
      </div>
      <footer id="footer">
  <div class="outer">
    <div id="footer-info" class="inner">
      
<p>
    <span id="busuanzi_container_site_uv" style='display:none'>
        总访客数：<span id="busuanzi_value_site_uv"></span>
    </span>
    <span id="busuanzi_container_site_pv" style='display:none'>
        总访问量：<span id="busuanzi_value_site_pv"></span>
    </span>
</p>


      <p>
        Powered by  <a href="http://hexo.io/" target="_blank">Hexo</a>
        Theme <a href="//github.com/wongminho/hexo-theme-miho" target="_blank">MiHo</a>
      &copy; 2018 Joker Mei<br>
      </p>
    </div>
  </div>
</footer>
    <script async src="//dn-lbstatics.qbox.me/busuanzi/2.3/busuanzi.pure.mini.js"></script>
<script src="//cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script>
  var mihoConfig = {
      root: "http://mjjde.github.io",
      animate: false,
      isHome: true,
      share: true
  }
</script>
<div class="sidebar">
    <!-- <div id="sidebar-search" title="Search">
        <i class="fa fa-search"></i>
    </div> -->
    <div id="sidebar-category" title="Categories">
        <i class="fa fa-book"></i>
    </div>
    <div id="sidebar-tag" title="Tags">
        <i class="fa fa-tags"></i>
    </div>
    <div id="sidebar-top">
        <span class="sidebar-top-icon"><i class="fa fa-angle-up"></i></span>
    </div>
</div>
<div class="sidebar-menu-box" id="sidebar-menu-box">
    <div class="sidebar-menu-box-container">
        <div id="sidebar-menu-box-categories">
            <a class="category-link" href="/categories/Android技术/">Android技术</a><a class="category-link" href="/categories/其他技术/">其他技术</a><a class="category-link" href="/categories/网络技术/">网络技术</a><a class="category-link" href="/categories/设计模式/">设计模式</a>
        </div>
        <div id="sidebar-menu-box-tags">
            <a href="/tags/Activity/" style="font-size: 10px;">Activity</a> <a href="/tags/Android/" style="font-size: 16px;">Android</a> <a href="/tags/Android-IPC/" style="font-size: 10px;">Android-IPC</a> <a href="/tags/Binder/" style="font-size: 16px;">Binder</a> <a href="/tags/DiskLruCache/" style="font-size: 10px;">DiskLruCache</a> <a href="/tags/Fragment/" style="font-size: 10px;">Fragment</a> <a href="/tags/HTTP/" style="font-size: 20px;">HTTP</a> <a href="/tags/Java/" style="font-size: 10px;">Java</a> <a href="/tags/Notification/" style="font-size: 10px;">Notification</a> <a href="/tags/RemoteView/" style="font-size: 10px;">RemoteView</a> <a href="/tags/Rxjava/" style="font-size: 14px;">Rxjava</a> <a href="/tags/ServiceManager/" style="font-size: 14px;">ServiceManager</a> <a href="/tags/android/" style="font-size: 12px;">android</a> <a href="/tags/gradle/" style="font-size: 10px;">gradle</a> <a href="/tags/java/" style="font-size: 18px;">java</a> <a href="/tags/other/" style="font-size: 10px;">other</a> <a href="/tags/volley/" style="font-size: 12px;">volley</a> <a href="/tags/widget/" style="font-size: 10px;">widget</a> <a href="/tags/事件/" style="font-size: 10px;">事件</a> <a href="/tags/组件化/" style="font-size: 10px;">组件化</a> <a href="/tags/设计模式/" style="font-size: 18px;">设计模式</a>
        </div>
    </div>
    <a href="javascript:;" class="sidebar-menu-box-close">&times;</a>
</div>
<div class="mobile-header-menu-nav" id="mobile-header-menu-nav">
    <div id="mobile-header-menu-container">
        <span class="title">Menu</span>
        <ul class="mobile-header-menu-navbar">
            
            <li>
                <a  href="/">
                    <i class="fa fa-home"></i><span>Home</span>
                </a>
            </li>
            
            <li>
                <a  href="/archives">
                    <i class="fa fa-archive"></i><span>Archives</span>
                </a>
            </li>
            
            <li>
                <a  href="/about">
                    <i class="fa fa-user"></i><span>About</span>
                </a>
            </li>
            
        </ul>
    </div>
</div>
<div class="search-wrap">
    <span class="search-close">&times;</span>
        <a href="javascript:;" class="header-icon waves-effect waves-circle waves-light" id="back">
            <i class="icon icon-lg icon-chevron-left"></i>
        </a>
        <input class="search-field" placeholder="Search..." id="keywords">
        <a id="search-submit" href="javascript:;">
            <i class="fa fa-search"></i>
        </a>
    <div class="search-container" id="search-container">
        <ul class="search-result" id="search-result">
        </ul>
    </div>
</div>

<div id="search-tpl">
    <li class="search-result-item">
        <a href="{url}" class="search-item-li">
            <span class="search-item-li-title" title="{title}">{title}</span>
        </a>
    </li>
</div>
<script src="/js/search.js"></script>
<script src="/js/main.js"></script>








  </div>
</body>
</html>